﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DLV.Library.Utilities;

namespace DLV.Data.Entities
{
    public class CalculatorInfo
    {
        //hjh
        #region private fields

        private int _calculatorId = Null.NullInteger;
        private int _tourId = Null.NullInteger;
        private int _itemId = Null.NullInteger;
        private int _itemType = Null.NullInteger;
        private DateTime _dateBegin = Null.NullDate;
        private DateTime _dateEnd = Null.NullDate;
        private decimal _priceAdults = Null.NullDecimal;
        private decimal _priceChild = Null.NullDecimal;
        private int _quantityCar = Null.NullInteger;
        private int _quantityAdults = Null.NullInteger;
        private int _quantityChild = Null.NullInteger;
        private double _vat = Null.NullDouble;
        private decimal _translateAdult = Null.NullDecimal;
        private decimal _translateChild = Null.NullDecimal;
        private decimal _otherCostAdult = Null.NullDecimal;
        private decimal _otherCostChild = Null.NullDecimal;
        private string _travelGuideType = Null.NullString;
        private decimal _priceBaby = Null.NullDecimal;
        private int _quantityBaby = Null.NullInteger;
        private decimal _translateBaby = Null.NullDecimal;
        private decimal _othercostBaby = Null.NullDecimal;
        private string _note = String.Empty;
        private int _partnerIdCalculator = Null.NullInteger;
        private int _statusCalculator = Null.NullInteger;
        private int _createdBy = Null.NullInteger;
        private DateTime _createdDate = Null.NullDate;
        private int _updatedBy = Null.NullInteger;
        private DateTime _updatedDate = Null.NullDate;

        #endregion

        #region public properties

        public int CalculatorId
        {
            get { return _calculatorId; }
            set { _calculatorId = value; }
        }

        public int TourId
        {
            get { return _tourId; }
            set { _tourId = value; }
        }

        public int ItemId
        {
            get { return _itemId; }
            set { _itemId = value; }
        }

        public int ItemType
        {
            get { return _itemType; }
            set { _itemType = value; }
        }

        public DateTime DateBegin
        {
            get { return _dateBegin; }
            set { _dateBegin = value; }
        }

        public DateTime DateEnd
        {
            get { return _dateEnd; }
            set { _dateEnd = value; }
        }

        public decimal PriceAdults
        {
            get { return _priceAdults; }
            set { _priceAdults = value; }
        }

        public decimal PriceChild
        {
            get { return _priceChild; }
            set { _priceChild = value; }
        }

        public int QuantityCar
        {
            get { return _quantityCar; }
            set { _quantityCar = value; }
        }

        public int QuantityAdults
        {
            get { return _quantityAdults; }
            set { _quantityAdults = value; }
        }

        public int QuantityChild
        {
            get { return _quantityChild; }
            set { _quantityChild = value; }
        }

        public double Vat
        {
            get { return _vat; }
            set { _vat = value; }
        }
        public int PartnerIdCalculator
        {
            get { return _partnerIdCalculator; }
            set { _partnerIdCalculator = value; }
        }

        public int StatusCalculator
        {
            get { return _statusCalculator; }
            set { _statusCalculator = value; }
        }

        public int CreatedBy
        {
            get { return _createdBy; }
            set { _createdBy = value; }
        }

        public DateTime CreatedDate
        {
            get { return _createdDate; }
            set { _createdDate = value; }
        }

        public int UpdatedBy
        {
            get { return _updatedBy; }
            set { _updatedBy = value; }
        }

        public DateTime UpdatedDate
        {
            get { return _updatedDate; }
            set { _updatedDate = value; }
        }
        public decimal TranslateChild
        {
            get { return _translateChild; }
            set { _translateChild = value; }
        }

        public decimal OtherCostAdult
        {
            get { return _otherCostAdult; }
            set { _otherCostAdult = value; }
        }

        public decimal OtherCostChild
        {
            get { return _otherCostChild; }
            set { _otherCostChild = value; }
        }

        public string TravelGuideType
        {
            get { return _travelGuideType; }
            set { _travelGuideType = value; }
        }

        public int QuantityBaby
        {
            get { return _quantityBaby; }
            set { _quantityBaby = value; }
        }

        public decimal PriceBaby
        {
            get { return _priceBaby; }
            set { _priceBaby = value; }
        }
        public decimal TranslateAdult
        {
            get { return _translateAdult; }
            set { _translateAdult = value; }
        }
        public decimal TranslateBaby
        {
            get { return _translateBaby; }
            set { _translateBaby = value; }
        }

        public decimal OthercostBaby
        {
            get { return _othercostBaby; }
            set { _othercostBaby = value; }
        }
        public string Note
        {
            get { return _note; }
            set { _note = value; }
        }
        #endregion

        #region custom

        public string BeginLocationName { get; set; }
        public string EndLocationName { get; set; }
        public string ConcernFullName { get; set; }
        public string FlightArrivals { get; set; }
        public string TypeName { get; set; }
        public string Time { get; set; }



        public string ScheduleName
        {
            get
            {
                return BeginLocationName + " -> " + EndLocationName;
            }
        }

        public string TicketName
        {
            get
            {
                return Time + " -- " + TypeName;
            }
        }

        public int ScheduleId { get; set; }
        public int ConcernId { get; set; }

        public int TicketType { get; set; }



        public decimal TotalPriceAir { get; set; }
        public decimal TotalPriceService { get; set; }
        public decimal TotalPriceCar { get; set; }
        public decimal TotalPriceHotel { get; set; }
        public decimal TotalPriceVisa { get; set; }
        public decimal TotalPriceTravelGuide { get; set; }

        public decimal TotalPriceAdultsVisa { get; set; }
        public decimal TotalPriceChildVisa { get; set; }
        public decimal TotalPriceBabyVisa { get; set; }

        public decimal TotalPriceAdultsGifts { get; set; }
        public decimal TotalPriceChildGifts { get; set; }
        public decimal TotalPriceBabyGifts { get; set; }
        public decimal TotalPriceGifts { get; set; }

        public decimal TotalPriceAirAdults { get; set; }
        public decimal TotalPriceAirChild { get; set; }
        public decimal TotalPriceStation { get; set; }
        public decimal TotalPriceStationAdults { get; set; }
        public decimal TotalPriceStationChild { get; set; }
        
        public decimal TotalPriceMenuChild { get; set; }
        public decimal TotalPriceMenuAdults { get; set; }
        public decimal TotalPriceMenuBaby { get; set; }





        public decimal TotalPriceVisaChild { get; set; }
        public decimal TotalPriceVisaAdults { get; set; }

        public decimal TotalPriceVisaBaby { get; set; }

        public decimal TotalPriceHhChild { get; set; }
        public decimal TotalPriceHhAdults { get; set; }
        public decimal TotalPriceHhBaby { get; set; }

        public decimal TotalPriceDvkAdults { get; set; }
        public decimal TotalPriceDvkChild { get; set; }
        public decimal TotalPriceDvkBaby { get; set; }
        public string HotelFullName { get; set; }
        public string RoomTypeName { get; set; }
        public string CityName { get; set; }
        public string NationalName { get; set; }
        public string ServiceName { get; set; }
        public string LocationName { get; set; }
        public string LocationTypeName { get; set; }
        public string HotelTypeName { get; set; }

        public decimal TotalPriceHotelAdults { get; set; }
        public decimal TotalPriceHotelChild { get; set; }
        public int CountNightHotel { get; set; }

        public int PartnerId { get; set; }
       
        public int InsuranceId { get; set; }
        public string LanguageName { get; set; }
        public string Level { get; set; }
        public string Gender { get; set; }
        public string FullName { get; set; }
        public string Phone { get; set; }
        public string TravelGuideName { get { return FullName + " -- " + Phone; } }
        

        public string RestaurantFullName { get; set; }
        public string RestaurantTypeName { get; set; }
        public string MenuTypeName { get; set; }
        public string MenuName { get; set; }
        public decimal RestaurantId { get; set; }
        public decimal MenuTypeId { get; set; }
        public decimal MenuId { get; set; }
        public decimal RestaurantTypeId { get; set; }
        public decimal CityId { get; set; }
        public decimal Nationalid { get; set; }
        public string VisaTypeName { get; set; }
        public string PartnerName { get; set; }
        public string VisaName { get; set; }
        public int LanguageId { get; set; }
        public int TravelGuideCashId { get; set; }

        public string InsuranceName { get; set; }


        public decimal TotalPriceInsuranceAdults { get; set; }
        public decimal TotalPriceInsuranceChild { get; set; }
        public decimal TotalPriceInsuranceBaby { get; set; }


        public decimal VisaTypeId { get; set; }
        public decimal VisaId { get; set; }

        public decimal VisaPriceId { get; set; }


        public decimal HotelTypeId { get; set; }
        public decimal HotelId { get; set; }
        public decimal PriceId { get; set; }
        public decimal LocationTypeId { get; set; }
        public decimal NationalId { get; set; }
        public decimal LocationId { get; set; }

        public decimal ServiceId { get; set; }

       
       

        public decimal TotalPriceStationBaby { get; set; }

        public decimal TotalPriceHotelBaby { get; set; }


        public decimal TotalPriceLandTourAdults { get; set; }
        public decimal TotalPriceLandTourChilds { get; set; }
        public decimal TotalPriceLandTourBabys { get; set; }

        public string LandTourName { get; set; }

        public string GiftsTypeName { get; set; }
        public string GiftsName { get; set; }



       
        public int GiftsTypeId { get; set; }
        public int GiftsId { get; set; }

       
        #endregion
    }
}

